1. Technical Field
The present invention generally relates to computer processor computation management, and more particularly, to systems and methods for improving processing performance.
2. Description of the Related Art
Mainstream parallel computing has recently become a popular processing architecture due to advances in semiconductor technology, e.g., Moore's Law, and its expected potential for continued improvement in computation capability. However, many applications are concomitantly managing an explosive growth in input data and implementing increasingly sophisticated algorithms to address it amidst a rising demand for real-time responses. Recognition and mining (RM) applications, for example, represent a significant class of such emerging applications that are anticipated to run on future multi-core and many-core computing platforms. Thus, for the foreseeable future, a significant gap between the computational requirements of workloads and the capabilities of emerging multi-core and many-core platforms is expected.
The primary approach to addressing increasing computational workloads has been to design more efficient hardware platforms, such as multi-core and many-core processors, or hardware accelerators. Notwithstanding these hardware advances, the explosion in data and complexity of algorithms that process it ensure that computation will likely exceed processing capability.
Various algorithm-specific techniques exist that improve the efficiency of RM algorithms so as to achieve the same or nearly the same result with less work by reducing the number of iterations or computations required to attain the same result. Prior work in parallel computing has addressed efficient utilization of parallel computing platforms for 1M applications through parallel programming languages, compilers and parallel libraries. Additionally, real-time scheduling of computations on processing platforms has exploited the fact that parts of an application are “optional” and can therefore be scheduled only if and when the computational capability of the platform allows for them to be executed. This is referred to as the “approximate computation” model. In the approximate computation model, a user is required to specify which computations are optional.
However, prior art work fails to recognize and utilize the full benefits of dropping computations and removing interdependencies of computations, as discussed herein below. Rather than proactively dropping and re-configuring computation sequence and performance and exploiting the forgiving aspects of applications, prior work approaches dropping or re-configuring computations as actions that should be avoided. Accordingly, there is a need for improving processing performance and efficiency by developing the forgiving nature of applications to address the problem of increased workloads in processing systems.